Throughput is conventionally used as one of the indexes indicating the status of the communication path when transferring data from a transmitter to a receiver, in a band-sharing packet exchanging network such as the Internet, intranet, and wireless IP network. The throughput is an effective transfer rate of the communication path per unit time measured between a transmission end and a reception end represented in the number of bits transferred per second. The unit bps is usually used.
For example, as a specific video in the video transferring system for transferring the videos captured by street cameras, the traffic currently focused by the user is referred to as observed traffic. Meanwhile, the rest of the traffic that could affect the observed traffic is referred to as cross traffic.
The cross traffic includes, not only the traffic generated by another application, but also the traffic generated by other camera which is on the same video transferring system and currently not focused.
The throughput between relays on a communication path from the transmitter to the receiver is not temporally constant, but usually changing. The main factor of the change in the throughput of the links between the relays is the change in the resource of the links available for transferring the observed traffic, due to temporal change in the cross traffic.
The temporal change in throughput does not cause problems so often in the elastic applications such as web access or file transfer. On the other hand, real-time applications such as video transfer and audio telephone are very sensitive to the change in transmission quality such as latency or jitter on the communication path. Thus, the change in throughput significantly affects the quality of the entire service directly.
In order to prevent the reduction in the service quality caused by the change in throughput, the transmitter sequentially detects the change in throughput on the transmission path, and controls the transmission rate according to the status of the path.
Roughly speaking, the first conventional technology which monitors the receiver and the second conventional technology which monitors the relay on the path are methods for detecting the change in throughput on the communication path in order to control the transmission rate at the transmitter.
An example of the first conventional technology is the TCP Friendly Rate Control (TFRC) standardized by the Internet Engineering Task Force (IETF).
FIG. 35 illustrates the streaming distribution of the video data from the transmitter A to the receiver B. The transmitter A divides the video data to be transmitted, and stores the data in the User Datagram Protocol (UDP) packets, and sends the packets to the receiver B.
The receiver B calculates the reception loss rate (LOSS) which indicates a degree of packet loss per unit time by statistically measuring the received packets. Furthermore, Round-Trip Time (RTT) on the communication path on the transmitter A and the receiver B are also calculated, based on the time stamp indicating the transmission time and the time stamp indicating the reception time.
The receiver B stores the RTT and the reception loss rate in the measuring packet, according to the predetermined time cycle and sends feedback to the transmitter A. With this, the receiver B transmits the transmission status of the communication path to the transmitter A by feeding back to the transmitter A. The transmitter A which received the measuring packet controls the transmission rate from the reception loss rate and the RU according to Equation 1.
                    [                  Equation          ⁢                                          ⁢          1                ]                                                            R        =                  MTU                                                                                          RTT                    ·                                                                  2                        ·                                                  LOSS                          /                          3                                                                                                      +                                                                                                                          T                    0                                    ·                                      (                                          3                      ⁢                                                                        3                          ·                                                      LOSS                            /                            8                                                                                                                )                                    ·                  LOSS                  ·                                      (                                          1                      +                                              32                        ·                                                  LOSS                          2                                                                                      )                                                                                                          (                  Equation          ⁢                                          ⁢          1                )            
In the equation, R denotes a transmission rate, Maximum Transmission Unit (MTU) denotes a length of transmission unit on a path, and T0 is a timeout period of a Transmission Control Protocol (TCP) session.
Furthermore, as an example of the second conventional technology, Patent Literature 1 discloses a method for selecting the relay to be monitored by steadily monitoring the relay with the smallest capacity bandwidth. Conventional bandwidth estimation technology such as one-packet estimation is used for estimating the capacity bandwidth of each relay.
In addition, as another example of the second conventional technology, Patent Literature 2 discloses a method for selecting a relay inclined to congestion based on the history information of the transmission status of the relay, and monitors the selected relay.
FIG. 36 illustrates a state where a data transmission application is activated on a P2P network in Patent Literature 2. The data transmission application includes a transmission program that operates on a peer 1, a transmission data relaying program that operates on the peer 2, peer 3, and peer 4, and a reception program that operates on the peer 5, and the programs correspond to a transmitter, a relay, and a receiver, respectively. The quality information table on which the quality information of each relay is recorded is managed on the transmitter A. On the quality information table, the relay numbers are sorted by the transmission quality indicated by the quality information and displayed. The estimated load for each relay estimated by the pair-packet estimating method is used as an example.
The transmitter A periodically reexamines quality information for the relays of a fixed number recorded on the higher order of the quality information table, updates the quality information table using the result, and sorts the quality information table again. Suppose the fixed number is three, and the relay 3, the relay 6, the relay 1, the relay 4 . . . , are recorded on the quality table in the order of higher order, the transmitter A measures the level of load on three relays: the relay 3; the relay 6; and the relay 1; using the pair packet estimation method at the next periodic timing. The measurement result is written on a corresponding position of the quality information table, and the quality information table is sorted again.
Here, when the re-measured load of the relay 1 is smaller than the load of the relay 4 that is not re-measured, the order change occurs at the time of sorting, and the relays are arranged in the order of the relay 3, the relay 6, the relay 4, and the relay 1, from the higher order of the quality information table. Changing the relay on the higher order on the quality information table with time follows the dynamic change on the load of the relays.